/*
 * Copyright 2016-2017 TVI Go Easy.
 * Created on 2017/4/27 23:56
 */
package org.mechanic.fund.service.product;

import org.mechanic.fund.domain.system.manager.Role;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;

import java.util.List;

/**
 * 角色信息服务接口
 *
 * @author mechanic
 * @version 0.0.1
 */
public interface IRoleService {
    /**
     * 返回匹配用户编号的角色信息
     *
     * @param id 主键编号
     * @return 角色信息
     */
    Role findById(String id);

    /**
     * 返回角色信息分页列表
     *
     * @param pageRequest 分页信息
     * @return 角色信息分页列表
     */
    Page<Role> getList(PageRequest pageRequest);

    /**
     * 返回匹配用户编号的角色信息分页列表
     *
     * @param userId 用户主键编号
     * @param pageRequest  分页信息
     * @return 角色信息分页列表
     */
    Page<Role> getList(String userId, PageRequest pageRequest);

    /**
     * 删除匹配用户编号的角色信息
     *
     * @param id 主键编号
     */
    void delete(String id);

    /**
     * 保存角色信息
     *
     * @param users 角色信息集合
     * @param operationUserId 操作该记录的用户主键编号
     */
    void save(List<Role> users, String operationUserId);
}
